Electronic devices such as computers, laptops, personal video recorders (PVRs), MP3 players, game consoles, set-top boxes, digital cameras, and other electronic devices often need to store a large amount of data. Storage devices such as hard disk drives may be used to meet these storage requirements. The cost of data storage often has a significant impact on the overall cost of the device. Therefore, reducing the cost of data storage can dramatically impact the overall cost of these devices.
Referring now to FIG. 1, data storage architecture 10 typically includes a hard drive assembly (HDA) printed circuit board (PCB) 14 and a buffer 18 arranged thereon that stores data that is associated with the control of a hard disk drive. The buffer 18 may employ SDRAM or other types of low latency memory. A processor 22 arranged on the HDA PCB 14 performs processing that is related to the operation of the hard disk drive. A hard disk controller (HDC) 26 communicates with an input/output interface 24 and with a spindle/voice coil motor (VCM) driver 30 and/or a read/write channel 34.
During write operation read/write channel 34 essentially encodes the data to be written onto a read/write device 59, as described in detail herein below. The read/write channel 34 processes the signal for reliability and may include, for example, error correction coding (ECC), run length limited coding (RLL), and the like. During read operations, the read/write channel 34 converts an analog output of the read/write device 59 to a digital signal. The converted signal is then detected and decoded by known techniques to recover the data written on the hard disk drive.
As can be appreciated, one or more of the functional blocks of the HDA PCB 14 may be implemented by a single integrated circuit (IC) or chip. For example, the processor 22 and the HDC 26 may be implemented by a single chip. The spindle/VCM driver 30 and/or the read/write channel 34 may also be implemented by the same chip as the processor 22 and/or the HDC 26.
A hard drive assembly (HDA) 50 includes one or more hard drive platters 52 that include a magnetic coating that stores magnetic fields. The platters 52 are rotated by a spindle motor that is schematically shown at 54. Generally the spindle motor 54 rotates the hard drive platter 52 at a fixed speed during the read/write operations. One or more read/write actuator arms 58 moves relative to the platters 52 to read and/or write data to/from the hard drive platters 52. The spindle/voice control motor (VCM) driver 30 controls the spindle motor 54, which rotates the platter 52. The spindle/VCM driver 30 also generates control signals that position the read/write actuator arm 58, for example using a voice coil motor. Voice coil motors control the movement of a coil toward or away from a permanent magnet based upon the amount of current flowing through it.
A read/write device 59 is located near a distal end of the read/write actuator arm 58. The read/write device 59 includes a write element such as an inductor (commonly referred to as a head) that generates a magnetic field. The read/write device 59 also includes a read element (such as a magneto-resistive (MR) element) that senses the magnetic field on the platter 52. The HDA 50 includes a preamp circuit 60, which amplifies analog read/write signals. When reading data, preamp circuit 60 amplifies low level signals from the read element and outputs the amplified signal to the read/write channel device. While writing data, a write current is generated which flows through the write element of the read/write device 59. The current is switched to produce a magnetic field having a positive or negative polarity. The positive or negative polarity is stored by the hard drive platter 52 and is used to represent data.
During operation the read/write device 50 flies over the surface of the disk platters. A cushion of air supports the read/write device 59 when rotating. On older hard disk drives, when the platters 52 are not moving, the cushion of air dissipates and the heads float down and contact the surface of the platters 52. Because this was a potential source of damage, a ramp 62 is used to receive the read/write device 52 as the read/write or actuator arm 58 rotates about an axis 64. When the spindle motor is stopped, the heads are completely lifted off the surface of the disk and engage the ramp 62. After the read/write device 59 engages the ramp 62, the disk is allowed to spin down. When the power is reapplied to the spindle 54, the process is reversed and the disk spins up. Once the disks are traveling fast enough to let the read/write devices 59 fly above the surface of the platters 52, the heads are moved off the ramp 62 and fly over the surface of the platters 52.
Controlling the speed of the VCM is desirable to prevent the read/write device 59 from touching a surface of the platter 52 during ramp loading and unloading. Thus, knowing the velocity of the actuator arm 58 is important. The velocity of the VCM is directly proportional to back electromagnetic force (bemf) voltage Vbemf generated by the motor. The voltage drop across the motor is related to the motor resistance, motor inductance, and the bemf. All voltage components act in series. For a current Im flowing through the motor, the voltage across the motor terminal Vm is defined as:Vin=Im*Rm+Lm*dIm/dt+Vbemf 
For extraction of Vbemf, the voltage due to motor resistance and inductance should be canceled. In a linear mode, a constant current may be applied to let Lm*dIm/dt=0. The resistance component may be cancelled by introducing an Im*Rs*Gain term. Rs is the current sense resistor and the gain term is calibrated to Rm/Rs. Therefore, Vbemf may be found by:Vin=Im*Rm+Lm*dImdt+Vbemf−Im*Rs*GainVin=Vbemf when Gain=Rm/Rs and Im is constantHowever, when the VCM is PWM (pulse width modulation) driven, the current is switching which generates a ringing or transients in the signal. Before measuring the back emf, the transients must be allowed to subside.